//
//  HomeController.m
//  RRQS
//
//  Created by kyjun on 16/3/23.
//
//

#import "HomeController.h"
#import "NewTask.h"
#import "WaitTake.h"
#import "Shipped.h"
#import "Login.h"
#import "FinishedTask.h"
#import "Setting.h"
#import "Account.h"
#import "JPUSHService.h"
#import "FinishedOrder.h"
#import <AudioToolbox/AudioToolbox.h>
#import "RunBuyOverViewController.h"
#import "MineTongJiViewController.h"

@interface HomeController ()<UIAlertViewDelegate>

@property(nonatomic,strong) UIView* topView;
@property(nonatomic,strong) UIScrollView* mainScroll;
@property(nonatomic,strong) UIButton* btnNewTask;
@property(nonatomic,strong) UIButton* btnWaitTake;
@property(nonatomic,strong) UIButton* btnShipped;
@property(nonatomic,strong) UILabel* labelMark;

@property(nonatomic,strong) NewTask* taskController;

@property(nonatomic,strong) WaitTake* waitTakeController;
@property(nonatomic,strong) Shipped* shippedController;


@end

@implementation HomeController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.title = @"任务列表";
    
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"icon-menu"] style:UIBarButtonItemStylePlain target:self action:@selector(presentLeftMenuViewController:)];
    self.view.backgroundColor = [UIColor whiteColor];
    
    self.taskController = [[NewTask alloc]init];
    [self addChildViewController:self.taskController];
    self.waitTakeController = [[WaitTake alloc]init];
    [self addChildViewController:self.waitTakeController];
    self.shippedController = [[Shipped alloc]init];
    [self addChildViewController: self.shippedController];
    
    [self layoutUI];
    [self layoutConstraints];
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(finsishedTaskNotification:) name:NotificationToFinishedTask object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(settingNotification:) name:NotificationToSetting object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accountNotification:) name:NotificationToAccount object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(locationNotification:) name:NotificationToLocationService object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshDataNotification:) name:NotificationHomeRefreshing object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(RunBuyOverNotification:) name:NotificationRunBuyOver object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MineTongJiNotification:) name:NotificationMineTongJi object:nil];
    //[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(testLocation:) name:NotificationTestLocation object:nil];
}

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    [self setNeedsStatusBarAppearanceUpdate];
    
    if(!self.Identity.userInfo.isLogin){
        UINavigationController* nav = [[UINavigationController alloc]initWithRootViewController:[[Login alloc]init]];
        [self presentViewController:nav animated:YES completion:nil];
    }else{
        [self queryData];
    }
}

-(void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
    self.mainScroll.contentSize = CGSizeMake(SCREEN_WIDTH*3, CGRectGetHeight(self.mainScroll.frame));
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

#pragma mark =====================================================  User interface layout
-(void)layoutUI{
    [self.view addSubview:self.topView];
    [self.topView addSubview:self.btnNewTask];
    [self.topView addSubview:self.btnWaitTake];
    [self.topView addSubview:self.btnShipped];
    [self.topView addSubview:self.labelMark];
    [self.view addSubview:self.mainScroll];
    [self.mainScroll addSubview:self.taskController.view];
    [self.mainScroll addSubview:self.waitTakeController.view];
    [self.mainScroll addSubview:self.shippedController.view];
    self.automaticallyAdjustsScrollViewInsets = NO;
}
-(void)layoutConstraints{
    self.topView.translatesAutoresizingMaskIntoConstraints = NO;
    self.btnNewTask.translatesAutoresizingMaskIntoConstraints = NO;
    self.btnWaitTake.translatesAutoresizingMaskIntoConstraints = NO;
    self.btnShipped.translatesAutoresizingMaskIntoConstraints = NO;
    self.labelMark.translatesAutoresizingMaskIntoConstraints = NO;
    self.mainScroll.translatesAutoresizingMaskIntoConstraints = NO;
    self.taskController.view.translatesAutoresizingMaskIntoConstraints = NO;
    self.waitTakeController.view.translatesAutoresizingMaskIntoConstraints = NO;
    self.shippedController.view.translatesAutoresizingMaskIntoConstraints = NO;
    
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.topView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:45.f]];
    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0.f]];
    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0.f]];
    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeWidth multiplier:1.0 constant:0.f]];
    
    [self.btnNewTask addConstraint:[NSLayoutConstraint constraintWithItem:self.btnNewTask attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:SCREEN_WIDTH/3]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.btnNewTask attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.topView attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0.f]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.btnNewTask attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topView attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.f]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.btnNewTask attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.topView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0.f]];
    
    [self.btnWaitTake addConstraint:[NSLayoutConstraint constraintWithItem:self.btnWaitTake attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:SCREEN_WIDTH/3]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.btnWaitTake attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.topView attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0.f]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.btnWaitTake attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topView attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.f]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.btnWaitTake attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.btnNewTask attribute:NSLayoutAttributeRight multiplier:1.0 constant:0.f]];
    
    [self.btnShipped addConstraint:[NSLayoutConstraint constraintWithItem:self.btnShipped attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:SCREEN_WIDTH/3]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.btnShipped attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.topView attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0.f]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.btnShipped attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topView attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.f]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.btnShipped attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.btnWaitTake attribute:NSLayoutAttributeRight multiplier:1.0 constant:0.f]];
    
    [self.labelMark addConstraint:[NSLayoutConstraint constraintWithItem:self.labelMark attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:SCREEN_WIDTH/3]];
    [self.labelMark addConstraint:[NSLayoutConstraint constraintWithItem:self.labelMark attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:2.f]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.labelMark attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.topView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-1.f]];
    [self.topView addConstraint:[NSLayoutConstraint constraintWithItem:self.labelMark attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.btnNewTask attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0.f]];
    
    [self.mainScroll addConstraint:[NSLayoutConstraint constraintWithItem:self.mainScroll attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:SCREEN_WIDTH]];
    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.mainScroll attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0.f]];
    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.mainScroll attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0.f]];
    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.mainScroll attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0.f]];
    
    [self.taskController.view addConstraint:[NSLayoutConstraint constraintWithItem:self.taskController.view attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:SCREEN_WIDTH]];
    [self.mainScroll addConstraint:[NSLayoutConstraint constraintWithItem:self.taskController.view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.mainScroll attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0.f]];
    [self.mainScroll addConstraint:[NSLayoutConstraint constraintWithItem: self.taskController.view attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.mainScroll attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.f]];
    [self.mainScroll addConstraint:[NSLayoutConstraint constraintWithItem:self.taskController.view attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.mainScroll attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0.f]];
    
    [self.waitTakeController.view addConstraint:[NSLayoutConstraint constraintWithItem:self.waitTakeController.view attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:SCREEN_WIDTH]];
    [self.mainScroll addConstraint:[NSLayoutConstraint constraintWithItem:self.waitTakeController.view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.mainScroll attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0.f]];
    [self.mainScroll addConstraint:[NSLayoutConstraint constraintWithItem: self.waitTakeController.view attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.mainScroll attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.f]];
    [self.mainScroll addConstraint:[NSLayoutConstraint constraintWithItem:self.waitTakeController.view attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.taskController.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:0.f]];
    
    [self.shippedController.view addConstraint:[NSLayoutConstraint constraintWithItem:self.shippedController.view attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:SCREEN_WIDTH]];
    [self.mainScroll addConstraint:[NSLayoutConstraint constraintWithItem:self.shippedController.view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.mainScroll attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0.f]];
    [self.mainScroll addConstraint:[NSLayoutConstraint constraintWithItem: self.shippedController.view attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.mainScroll attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.f]];
    [self.mainScroll addConstraint:[NSLayoutConstraint constraintWithItem:self.shippedController.view attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.waitTakeController.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:0.f]];
    
}
#pragma mark =====================================================  DataSource
-(void)queryData{
    AFHTTPRequestOperationManager* mgr = [AFHTTPRequestOperationManager manager];
    NSDictionary* arg = @{@"ince":@"get_order_count",@"emp_id":self.Identity.userInfo.userID};
    [mgr POST:kHost parameters:arg success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {
        [WMHelper outPutJsonString:responseObject];
        NSInteger flag = [[responseObject objectForKey:@"status"]integerValue];
        if(flag == 1){
            NSString* waitOrder = [responseObject objectForKey:@"noget"];
            NSString* shippedOrder = [responseObject objectForKey:@"nosend"];
            
//            [self.btnWaitTake setTitle:[NSString stringWithFormat:@"待取货(%@)",waitOrder] forState:UIControlStateNormal];
//            [self.btnShipped setTitle:[NSString stringWithFormat:@"配送中(%@)",shippedOrder] forState:UIControlStateNormal];
            [self.btnWaitTake setTitle:@"待取货" forState:UIControlStateNormal];
            [self.btnShipped setTitle:@"配送中" forState:UIControlStateNormal];
            NSLog(@"%@",[responseObject objectForKey:@"sucess"]);
        }else{
            NSLog(@"%@",[responseObject objectForKey:@"fail"]);
        }
    } failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {
        NSLog(@"%@",error.description);
    }];
    
}

#pragma mark =====================================================  <UIAlertViewDelegate>
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if(buttonIndex == 1){
        NSURL*url=[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"];
        [[UIApplication sharedApplication] openURL:url];
    }
}

#pragma mark =====================================================  SEL
-(IBAction)changeOrderStatus:(UIButton*)sender{
    if(self.btnNewTask == sender){
        [[NSNotificationCenter defaultCenter] postNotificationName:NotificationRefreshNewTask object:nil];
        self.btnNewTask.selected = YES;
        self.btnWaitTake.selected = NO;
        self.btnShipped.selected = NO;
    }else if (self.btnWaitTake == sender){
        [[NSNotificationCenter defaultCenter] postNotificationName:NotificationRefreshWaitTask object:nil];
        self.btnNewTask.selected = NO;
        self.btnWaitTake.selected = YES;
        self.btnShipped.selected = NO;
    }else{
          [[NSNotificationCenter defaultCenter] postNotificationName:NotificationRefreshShippedTask object:nil];
        self.btnNewTask.selected = NO;
        self.btnWaitTake.selected = NO;
        self.btnShipped.selected = YES;
    }
    [self queryData];
    [self changeMarkPosition:sender.tag];
}

#pragma mark =====================================================  Notificaton
// 已完成的跑腿任务
-(void)RunBuyOverNotification:(NSNotification*)notification{
    RunBuyOverViewController* controller = [[RunBuyOverViewController alloc]init];
    [self.navigationController pushViewController:controller animated:YES];
}
// 我的统计
-(void)MineTongJiNotification:(NSNotification*)notification{
    MineTongJiViewController* controller = [[MineTongJiViewController alloc]init];
    [self.navigationController pushViewController:controller animated:YES];
}
-(void)finsishedTaskNotification:(NSNotification*)notification{
    //FinishedTask* controller = [[FinishedTask alloc]init];
    FinishedOrder* controller = [[FinishedOrder alloc]init];
    [self.navigationController pushViewController:controller animated:YES];
}

-(void)settingNotification:(NSNotification*)notification{
    Setting* controller = [[Setting alloc]init];
    [self.navigationController pushViewController:controller animated:YES];
}

-(void)accountNotification:(NSNotification*)notification{
    Account* controller = [[Account alloc]init];
    [self.navigationController pushViewController:controller animated:YES];
}

-(void)locationNotification:(NSNotification*)notification{
    UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"" message:@"打开\"定位服务\"以允许\"人人骑士\"确定您的位置!" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"设置", nil];
    [alert show];
}

-(void)refreshDataNotification:(NSNotification*)notification{
    [self queryData];
}

-(void)testLocation:(NSNotification*)notification{
    [self alertHUD:@"定位"];
}
#pragma mark =====================================================  Private method
-(void)changeMarkPosition:(NSInteger)tag{
    [UIView animateWithDuration:0.5 animations:^{
        self.labelMark.frame = CGRectMake(SCREEN_WIDTH/3*tag, CGRectGetHeight(self.topView.frame)-2, SCREEN_WIDTH/3, 2.f);
        CGRect arect =CGRectMake(SCREEN_WIDTH*tag, 0, SCREEN_WIDTH, CGRectGetHeight(self.mainScroll.frame));
        [self.mainScroll scrollRectToVisible:arect animated:YES];
    }];
}

#pragma mark =====================================================  property package
-(UIView *)topView{
    if(!_topView){
        _topView = [[UIView alloc]init];
        CALayer* border = [[CALayer alloc]init];
        border.frame = CGRectMake(0, 44.f, SCREEN_WIDTH, 1.f);
        border.backgroundColor = [UIColor colorWithRed:223/255.f green:223/255.f blue:223/255.f alpha:1.0].CGColor;
        [_topView.layer addSublayer:border];
    }
    return _topView;
}

-(UIScrollView *)mainScroll{
    if(!_mainScroll){
        _mainScroll = [[UIScrollView alloc]init];
        _mainScroll.bounces = YES;
        _mainScroll.pagingEnabled = YES;
        _mainScroll.userInteractionEnabled = YES;
        _mainScroll.showsHorizontalScrollIndicator = NO;
        _mainScroll.backgroundColor=[UIColor clearColor];
        _mainScroll.scrollEnabled=NO;
    }
    return _mainScroll;
}

-(UIButton *)btnNewTask{
    if(!_btnNewTask){
        _btnNewTask = [UIButton buttonWithType:UIButtonTypeCustom];
        [_btnNewTask setTitleColor:[UIColor colorWithRed:97/255.f green:97/255.f blue:97/255.f alpha:1.0] forState:UIControlStateNormal];
        [_btnNewTask setTitleColor:[UIColor colorWithRed:247/255.f green:157/255.f blue:34/255.f alpha:1.0] forState:UIControlStateSelected];
        [_btnNewTask setTitle:@"新任务" forState:UIControlStateNormal];
        [_btnNewTask addTarget:self action:@selector(changeOrderStatus:) forControlEvents:UIControlEventTouchUpInside];
        _btnNewTask.tag = 0;
        _btnNewTask.selected = YES;
        _btnNewTask.titleLabel.font = [UIFont systemFontOfSize:15.f];
    }
    return _btnNewTask;
}

-(UIButton *)btnWaitTake{
    if(!_btnWaitTake){
        _btnWaitTake = [UIButton buttonWithType:UIButtonTypeCustom];
        [_btnWaitTake setTitleColor:[UIColor colorWithRed:97/255.f green:97/255.f blue:97/255.f alpha:1.0] forState:UIControlStateNormal];
        [_btnWaitTake setTitleColor:[UIColor colorWithRed:247/255.f green:157/255.f blue:34/255.f alpha:1.0] forState:UIControlStateSelected];
        [_btnWaitTake setTitle:@"待取货" forState:UIControlStateNormal];
        [_btnWaitTake addTarget:self action:@selector(changeOrderStatus:) forControlEvents:UIControlEventTouchUpInside];
        _btnWaitTake.tag = 1;
        _btnWaitTake.titleLabel.font = [UIFont systemFontOfSize:15.f];
    }
    return _btnWaitTake;
}

-(UIButton *)btnShipped{
    if(!_btnShipped){
        _btnShipped = [UIButton buttonWithType:UIButtonTypeCustom];
        [_btnShipped setTitleColor:[UIColor colorWithRed:97/255.f green:97/255.f blue:97/255.f alpha:1.0] forState:UIControlStateNormal];
        [_btnShipped setTitleColor:[UIColor colorWithRed:247/255.f green:157/255.f blue:34/255.f alpha:1.0] forState:UIControlStateSelected];
        [_btnShipped setTitle:@"配送中" forState:UIControlStateNormal];
        [_btnShipped addTarget:self action:@selector(changeOrderStatus:) forControlEvents:UIControlEventTouchUpInside];
        _btnShipped.tag = 2;
        _btnShipped.titleLabel.font = [UIFont systemFontOfSize:15.f];
    }
    return _btnShipped;
}

-(UILabel *)labelMark{
    if(!_labelMark){
        _labelMark = [[ UILabel alloc]init];
        _labelMark.backgroundColor = [UIColor colorWithRed:247/255.f green:157/255.f blue:34/255.f alpha:1.0];
    }
    return _labelMark;
}


@end
